PCIE | 您所在的位置:网站首页 › pcie 40byte tlp › PCIE |
Malformed TLP (1)收到的cpl,actual payload 不等于length; (2)收到的cpl,违背了RCB准则; (3)Local tlp prefix不在end-end tlp prefix前; (4)不支持local tlp prefix的设备,同时extended fmt field为1的设备收到了local tlp prefix(注意如果extended fmt field为0,收到了tlp prefix的话,由设备决定这个tlp的处理方式); (5)收到的end-end tlp prefix超过四个(协议最大允许4个)。对于RP来说,如果收到了大于Max End-End TLP Prefixes field的prefix的话,对于请求来说,建议将其认为是UR,对于cpl来说建议是UC(对于请求和建议来说,如果不遵循的话那么必须认为是Malformed TLP );对于其他function来说也是类似; (6)收到了不支持的end-end tlp prefix类型; (7)有tlp prefix但是没有tlp header; (8)Extended fmt field为1 但是 fmt和type的组合是reserved的;fmt[2]为0的情况下type为reserved; (9)收到的TLP的length超过Rx_MPS_Limit; (10)收到的TLP所对应的TD域(表示是否有tlp digest)和实际的长度尺寸不符合; (11)收到的TLP违背了byte enable准则; (12)对于原子操作来说,接收者收到的TLP长度和规定的长度不同;另外原子操作的请求必须以规定的方式字节对齐,如果没有按照规定的方式字节对齐,接收者将认为这个tlp是Malformed; (13)接收者接收到的TLP包的address和lengthe结合超过了4Kb边界; (14)对于IO操作,要求tc,th,attr,at,last be均为0,length为1,违背这个的IO操作被认为是Malformed; (15)只有up port能够发送Assert_INTx/Deassert_INTx Messages,如果收到了down port的Assert_INTx/Deassert_INTx Messages,那么认为是Malformed的tlp包,另外中断msg、power management msg、error msg要求使用default Traffic Class,违背的话也是被认为Malformed。
置为1的情况下,malformed tlp报告fatal error。
UR(对应completion的status域为ur) (1)completion status域为reserved,那么认为completion是ur属性的; (2)由于design或者配置setting而导致的设备不支持的request; (3)msg中各个域的组合是undefied的,或者说这个msg是这个设备不支持的msg(除了vender define的msg); (4)msg的dstid所对应的function没有实现; (5)ecrc检查失败,可以回cpl,也可以不回,但是如果回的回的status必须为ur; (6)FLR开始和结束直接收到了request,可以回ur也可以不做处理; Unexpected Completion (1)larger-Tag的请求者发给了一个请求给缺少” larger-Tag”功能的completer,那么回应的completion的tag是无效的tag,这个completion是Unexpected Completion(注意实际上对于请求者来说,由于回应的tag是无效的,所以大概率是针对这个请求的处理是把他作为timeout来处理); (2)对于RP来说,如果收到了大于Max End-End TLP Prefixes field的prefix的话,对于请求来说,建议将其认为是UR,对于cpl来说建议是UC(对于请求和建议来说,如果不遵循的话那么必须认为是Malformed TLP ) (3)如果一共function的upstream port的End-End TLP Prefix功能支持的话,如果收到了一个不支持的end-end tlp prefix type的completion的话,所有和这个upstream port相关的function都要把这个completion认为是UC (4)设备收到了一个和之前发的请求的Transaction ID都不一样的cpl,那么设备会把这个cpl认为是UC(如果这个cpl的Transaction ID能对应上,但是其他域对不上,也是把他认为是UC) (5)假如再FLR开启结束之间收到了cpl,这个cpl可以认为是UC,也可以不做任何处理,但是如果是FLR结束之后收到了FLR之前发起的请求对应的cpl,那么必须认为是UC |
CopyRight 2018-2019 实验室设备网 版权所有 |